package single1;

/**
 * 尽可能不实用锁
 *
 * 用静态内部类实现
 *
 * 优点：减少内存浪费（饿汉式）和 加锁性能低的问题（懒汉式）
 *
 * 从类初始化的角度
 *
 * static 全局唯一
 *
 * final 不能被继承 和  重载
 */
public class Single5 {

    private Single5(){}


    private static final Single5 getInstance(){
        return Inner.lazy;
    }

    private static class Inner{
        private static final Single5 lazy = new Single5();
    }

}
